//旋转字符串
/*给定两个字符串, s 和 goal。如果在若干次旋转操作之后，s 能变成 goal ，那么返回 true 。

s 的 旋转操作 就是将 s 最左边的字符移动到最右边。 

例如, 若 s = 'abcde'，在旋转一次之后结果就是'bcdea' 。
1 <= s.length, goal.length <= 100
s 和 goal 由小写英文字母组成
*/
bool rotateString(char* s, char* goal) {
    int size1 = strlen(s);
    int size2 = strlen(goal);
    if(size1!=size2)
    return false;
    int count = 0;
    for (int i = 0; i < size1; i++) {
        if (s[count] == goal[i]) {
            int _i = i;
            while (count < size1) {
                _i = _i % size1;
                if (s[count] != goal[_i])
                    break;
                _i++;
                count++;
            }
            if (count == size1)
                return true;
            count = 0;
        }
    }
    return false;
}



//统计包含给定前缀的字符串
/*给你一个字符串数组 words 和一个字符串 pref 。

返回 words 中以 pref 作为 前缀 的字符串的数目。

字符串 s 的 前缀 就是  s 的任一前导连续字符串。
1 <= words.length <= 100
1 <= words[i].length, pref.length <= 100
words[i] 和 pref 由小写英文字母组成
*/
bool is_same(char* arr, char* pref) {
    if (strlen(arr) < strlen(pref))
        return false;
    while (*pref) {
        if (*arr != *pref)
            return false;
        arr++;
        pref++;
    }
    return true;
}
int prefixCount(char** words, int wordsSize, char* pref) {
    int count=0;
    for (int i = 0; i < wordsSize; i++) {
        if(is_same(words[i],pref))
        count++;
    }
    return count;
}


